﻿using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace LASLogic.BusinessLayer.DataModel
{
    /// <summary>
    /// Clase que maneja todos los periodos contables
    /// </summary>
    [DataContract]
    public class AccountingPeriod
    {
        /// <summary>
        /// Identificador del periodo contable
        /// </summary>
        [DataMember]
        public int PeriodId { get; set; }
        /// <summary>
        /// Tipo de periodo contable
        /// </summary>
        [DataMember]
        public string AccountingPeriodType { get; set; }
        /// <summary>
        /// Descripcion del periodo contable
        /// </summary>
        [DataMember]
        public string Description { get; set; }
        /// <summary>
        /// Balance en moneda del sistema del periodo contable
        /// </summary>
        [DataMember]
        public Decimal SystemBalance { get; set; }
        /// <summary>
        /// Balance en moneda local del periodo
        /// </summary>
        [DataMember]
        public Decimal LocalBalance { get; set; }

        /// <summary>
        /// Constructor de la clase Periodo Contable
        /// </summary>
        /// <param name="periodId">Identificador del periodo</param>
        /// <param name="accountingPeriodType">Tipo del periodo Contable</param>
        /// <param name="description">Descripcion del periodo contable</param>
        /// <param name="systemBalance">Balance en moneda del sistema</param>
        /// <param name="localBalance">Balance en momeda local</param>
        public AccountingPeriod(int periodId, string accountingPeriodType, string description, Decimal systemBalance, Decimal localBalance)
        {
            PeriodId = periodId;
            AccountingPeriodType = accountingPeriodType;
            Description = description;
            SystemBalance = systemBalance;
            LocalBalance = localBalance;
        }

        /// <summary>
        /// Constructor vacio
        /// </summary>
        public AccountingPeriod()
        {
        }
    }


}
